\section{Debian软件包安装与管理}

一般而言，aptitude命令优于apt命令。

查看已经安装了哪些包：
\begin{verbatim}
dpkg -l
\end{verbatim}

查看软件包版本和其他信息
\begin{verbatim}
 aptitude show mendeleydesktop
 apt-cache showpkg mendeleydesktop （详细信息，包括依赖关系）
 apt-cache show mendeleydesktop （概要信息）
 apt-cache depends xxx
 apt-cache rdepends xxx(被依赖)
\end{verbatim}

搜索软件包：
\begin{verbatim}
 aptitude search pkgname (推荐)
apt-cache search 正则表达式
\end{verbatim}

如果官方源中没有相关的包，可以查看PPA仓库:
\url{https://launchpad.net/ubuntu/+ppas}

安装ppa软件的一般方法有两种:
\begin{verbatim}
sudo add-apt-repository source_line
sudo add-apt-repository ppa:<user>/<ppa-name>
\end{verbatim}

\begin{verbatim}
查找文件属于哪个包
apt-file search/find filename
查询软件包包含的文件
atp-file list/show pkgname
\end{verbatim}

编译时缺少h文件的自动处理
\begin{verbatim}
sudo auto-apt run ./configure
\end{verbatim}

清理下载包的临时存放目录/var/cache/apt/archives
\begin{verbatim}
apt-get clean
apt-get autoclean (只删除部分无用的包)
\end{verbatim}

备份当前系统安装的所有包的列表
\begin{verbatim}
dpkg --get-selections | grep -v deinstall > ~/somefile
\end{verbatim}

从上面备份的安装包的列表文件恢复所有包
\begin{verbatim}
dpkg --set-selections < ~/somefile
sudo dselect
\end{verbatim}

删除系统不再使用的孤立软件
\begin{verbatim}
sudo apt-get autoremove
\end{verbatim}

查看包在服务器上面的地址
\begin{verbatim}
apt-get -qq --print-uris install ssh | cut -d\' -f2
\end{verbatim}

除所有已删除包的残馀配置文件
\begin{verbatim}
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 
\end{verbatim}
如果你的系统中没有残留配置文件了，会报错。

\subsection{dpkg出错}
\label{err:dpkgConfig}
\begin{verbatim}
dpkg：处理 xxx (--configure)时出错
\end{verbatim}
处理方式，找到/var/lib/dpkg/info目录，备份他处，重新目录，执行
\begin{verbatim}
apt-get update
apt-get -f install
\end{verbatim}
在将新建的info目录同备份的目录合并

\section{Yum软件包管理}
\label{yum}
\subsection{配置更新源}
\subsubsection{手动选择源}
开源镜像网站http://mirrors.163.com/和http://mirrors.sohu.com/下载fedora的源配置文件。为了区别镜像，打开下载的镜像文件后把三个中括号[]中的fedora分别替换为fedora-163与fedora-sohu。将修改好的配置文件保存到/etc/yum.repos.d/目录下。最后在终端输入：
\begin{lstlisting}
sudo yum makecache
\end{lstlisting}

\subsubsection{安装fastest-mirror}
\begin{lstlisting}
sudo yum -y install yum-plugin-fastestmirror 
\end{lstlisting}

\subsubsection{添加rpmfusion源}
\begin{lstlisting}
sudo rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm 
http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
\end{lstlisting}

\subsection{升级系统}
\begin{lstlisting}
sudo yum update
\end{lstlisting}




















